home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / vmunzip.arc / VMUNZIP.DOC < prev    next >
Text File  |  1991-04-28  |  13KB  |  253 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.           This is the read me file for VMUNZIP. VMUNZIP is based mainly on
  8.           the Turbo Pascal program UNZIP(tm) by Samuel H. Smith. The CRC
  9.           checking is based on that in the DEZIP package by R.P. Byrne. I
  10.           wish to give my thanks to these two people, especially for
  11.           releasing the source to their programs. Without their generosity
  12.           and willingness to share their effort, this program would not
  13.           have been possible.
  14.  
  15.           VMUNZIP is designed to run on IBM's VM/CMS operating system. It
  16.           will unzip all files compatible with PKZIP(tm) release 0.92, as
  17.           of July, 1989. The program is written totally in IBM's VS Pascal
  18.           version 1.0 . Complete source code is included. It was written
  19.           and debugged on an HPO 4.2 system. However, it should be
  20.           executable on any version of VM, including VM/XA. Due to the
  21.           considerable differences in file structure and internal character
  22.           code between the IBM PC and the 370 mainframe, the files produced
  23.           by this program are generally not directly usable. A companion
  24.           program is therefore distributed along with VMUNZIP. It is APRINT
  25.           (for Ascii PRINT).
  26.  
  27.           VMUNZIP assumes that you can somehow upload ZIP files from an IBM
  28.           PC to your VM/CMS system. This document does not attempt to
  29.           document this upload facility. My testing was done by using the
  30.           IBM file transfer facility generally called IND$FILE as well as
  31.           Relay/VM. When uploading the ZIP file to VM/CMS, you must be sure
  32.           that the CMS file type is PCZIP. You must also be sure that the
  33.           record format is fixed and that the lrecl is 1. VMUNZIP does not
  34.           validate this, but will fail with some sort of error message if
  35.           these conditions are not met. In addition, the file MUST reside
  36.           on your A disk. All extracted files are placed on the A disk. It
  37.           is your responsibility to make sure that sufficient free space
  38.           exists on your A disk.
  39.  
  40.           Since the IBM PC does not have records in the VM/CMS sense, each
  41.           file extracted is given a record format of fixed and a record
  42.           length of 1. The the data in the extracted files are not
  43.           translated in any way. They remain as they were on the PC.
  44.           Therefore it is your responsibility to translate this data so
  45.           that it is in the form that you need. Since the main use that I
  46.           envision for this is in the uploading of printable data, I have
  47.           written a program which will read the extracted files written by
  48.           VMUNZIP , break it into records, translate it as best as possible
  49.           into EBCDIC and spool it to the CMS virtual printer. This is the
  50.           APRINT program.
  51.  
  52.           Installation instructions. Please note that throughout this
  53.           discussion, I assume that you are fairly familiar with VM/CMS and
  54.           the various standard CMS command available. I also assume that
  55.           you are knowledgeable in the area of doing file uploads on your
  56.           system.
  57.  
  58.              1.  On your PC, use an UNZIP type program to extract the files
  59.                  from the VMUNZIP.ZIP file. There are seven files in this
  60.                  archive. They are VMUNZIP.PAS, VMUNZIP.PMD, APRINT.BAL,
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.                  APRINT.PMD, CHECK.EXC, UNZIP.DOC and VMUNZIP.DOC. Since
  68.                  this is the VMUNZIP.DOC file, you have probably already
  69.                  done this.
  70.  
  71.              2.  Upload the files extracted in step 1. There are two types
  72.                  of files. VMUNZIP.PAS, APRINT.BAL, CHECK.EXC, UNZIP.DOC
  73.                  and VMUNZIP.DOC are pure printable files and may be
  74.                  uploaded using the your upload facility's ASCII to EBCDIC
  75.                  translation. The VMUNZIP.PMD and APRINT.PMD files are
  76.                  special. The are CMS MODULEs (executable programs) which
  77.                  have been packed with the standard CMS COPYFILE program.
  78.                  They must be uploaded so that they fixed length files with
  79.                  an lrecl of 1024. If this is not done properly, they will
  80.                  be unusable! An example session of how I did this follows:
  81.  
  82.              3.  On the PC,  I logged on to the VM/CMS system at work. I
  83.                  was using an Attachmate 3278 coax emulator card along with
  84.                  the Attachmate software. I issued the following commands
  85.                  on the PC.
  86.  
  87.                     a.  pkunzip vmunzip
  88.  
  89.                     b.  send vmunzip.pas vmunzip pascal (ascii crlf
  90.  
  91.                     c.  send vmunzip.doc vmunzip document(ascii crlf
  92.  
  93.                     d.  send aprint.bal aprint assemble(ascii crlf
  94.  
  95.                     e.  send check.exc check exec (ascii crlf
  96.  
  97.                     f.  send unzip.doc unzip document(ascii crlf
  98.  
  99.                     g.  send vmunzip.pmd vmunzip module(recfm f lrecl 1024
  100.  
  101.                     h.  send aprint.pmd aprint module(recfm f lrecl 1024
  102.  
  103.                  Once the files were on the mainframe, I switched to the
  104.                  mainframe session and issued the following CMS commands:
  105.  
  106.                     a.  copy vmunzip module a(unpack
  107.  
  108.                     b.  copy aprint module a(unpack
  109.  
  110.                  That is all there is to the installation
  111.  
  112.           Now that VMUNZIP is installed on your system, you will probably
  113.           want to use it. The first thing that you need to do is to upload
  114.           the ZIP file that contains the files that you want. You must
  115.           upload this file so that it goes onto your CMS A disk as having
  116.           fixed length records with a record length of 1. If you are using
  117.           the "send" command, the syntax is "SEND pcfile.ZIP cmsname PCZIP
  118.           A(RECFM F LRECL 1". Please note that the CMS file type MUST be
  119.           PCZIP! Also notice that the CMS file must reside on your A disk
  120.           or an extension of your A disk. Once you have gotten the file
  121.  
  122.  
  123.  
  124.                                         - 2 -
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.           onto your A disk, you can extract the members by entering
  132.           "VMUNZIP cmsname". This will create one or more output files,
  133.           again on your A disk. The output file names are as close to the
  134.           PC file names as is possible under VM/CMS. This means that the
  135.           path within the name, if any, is ignored. Also, any characters in
  136.           the PC file name or extension which are not valid in a CMS file
  137.           name are translated to pound signs. If the PC file extension is
  138.           blank, the CMS filetype becomes $EXTRACT. This is because the
  139.           filetype under CMS cannot be blank. You can only specify one
  140.           PCZIP file name. You can optionally enter an option. You do this
  141.           by entering "VMUNZIP cmsname ( option". Where "option" can be one
  142.           of the following: PROMPT - this is the default. It indicates that
  143.           you want to be prompted before VMUNZIP overwrites an existing
  144.           file. REPLACE - this indicates that you want VMUNZIP to extract
  145.           all files from the PCZIP file and simply overwrite any files that
  146.           may already be on you A disk without warning. BYPASS - this
  147.           indicates that you want VMUNZIP to not extract any files from the
  148.           PCZIP if a file of that name already exists. You will get a
  149.           message to the effect that the file was skipped.
  150.  
  151.           As an example, suppose that you have uploaded a ZIP file to your
  152.           A disk with the CMS name of TEST PCZIP A. Further suppose that
  153.           this ZIP file contains three files whose PC-DOS names were, in
  154.           order, TEST1.DOC MYSTUFF.PAS and FOO.BAR. You issue the CMS
  155.           command "VMUNZIP TEST". When the command finishes, assuming no
  156.           errors, you will have three new files on your A disk. They will
  157.           be "TEST DOC A1", "MYSTUFF PAS A1" and "FOO BAR A1".
  158.  
  159.           As previously mentioned, the data in the extracted files remains
  160.           exactly as it was on the PC. That is, there is no translation
  161.           from ASCII to EBCDIC. As is, this is probably not very useful.
  162.           That is why the APRINT program is also included. This is a simple
  163.           CMS program written in 370 assembler. It can read the extracted
  164.           files and do a fair job of translating the data into print
  165.           records. This program cannot handle any sort of fancy formatting.
  166.           It recognizes only three control characters. These are the CR
  167.           (0x0d), the LF (0x0a), and the FF (0x0c) characters. All other
  168.           control characters are translated to blanks. The maximum line
  169.           length allowed by this program is 132 characters + 1 carriage
  170.           control character. If a line exceeds this limit, it is broken up
  171.           into two or more lines with a maximum of 132 characters. The only
  172.           carriage control recognized is the FF character which is
  173.           translated to a skip to channel 1 code. A line is considered to
  174.           be all characters between any of the three recognized control
  175.           characters. Since the PC usually delimits lines with a CR/LF
  176.           pair, the code is written so that a LF after a CR is ignored.
  177.           However, multiple LFs in a row are translated to multiple print
  178.           lines. This program directs its output to the CMS virtual
  179.           printer. It issues a CLOSE PRT command before it starts writing
  180.           lines and after it finishes. There is no way to put data directly
  181.           to disk. However you can accomplish this by spooling your virtual
  182.           printer to your virtual reader (CP SP PRT *), then using either
  183.           the READ or DEPRINT command to read the file from your virtual
  184.           reader onto your A disk. The READ command should be used for
  185.  
  186.  
  187.  
  188.                                         - 3 -
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.           files which do not contain carriage information, such as source
  196.           code. The DEPRINT command should be used for files which does
  197.           contains carriage control information, such as documentation.
  198.  
  199.           Going back to the previous example, support that you want the
  200.           data in "MYSTUFF PAS A1" on your A disk in the file named
  201.           MYSTUFF PASCAL A. You can do this as follows:
  202.  
  203.              1.  sp prt close nocont
  204.  
  205.              2.  sp prt *
  206.  
  207.              3.  aprint mystuff pas a
  208.  
  209.              4.  read mystuff pascal a
  210.  
  211.           Note that I have assumed that your CMS reader was empty before
  212.           you started this. If this was not the case, you would need to
  213.           notice the spool file number issued in the VM message that you
  214.           should have gotten after the APRINT command completed. You would
  215.           then make that file the top file in your reader queue by using
  216.           the VM ORDER command.
  217.  
  218.           If you had wanted to simply print the file to the VM system
  219.           printer, you could have simple used the "aprint" step above.
  220.  
  221.           NOTICE - NOTICE - NOTICE - NOTICE - NOTICE
  222.  
  223.           This code is distributed as is with no warranty expressed or
  224.           implied! You assume all liability for loss of data, system
  225.           outages, or any other problems. I have successfully been using
  226.           this code for about a month now with no problems, but I cannot
  227.           guarantee this for you. Also, remember that this code is based on
  228.           the 0.92 version of PKZIP. If you have any problems with this
  229.           code, you can contact me via CompuServe. My id is 72325,1075. I
  230.           will try to fix any bugs in the code on a time available basis.
  231.           However I cannot guarantee that bugs will be fixed. A bug in this
  232.           case is defined as the code not working as described in this
  233.           document. In order to do any type of debugging, I will need the
  234.           error message generated, along with any trace back information. I
  235.           will also need a copy of the ZIP file that caused the problem. I
  236.           will attempt to keep this code current with Phil Katz's PKZIP
  237.           program as well as any other ZIP program which has a large
  238.           following. However, to do this, I must have access to the
  239.           algorithms used by the compressor in question. The only reason
  240.           that I could "write" this program was due to the availability of
  241.           Pascal source from Mr. Smith. I am a decent programmer, but I am
  242.           NOT well versed in compression algorithms! Oh, yes, this code is
  243.           totally free. If you modify it or improve it, it would be nice
  244.           for you to share your changes. You got this code for free, please
  245.           be considerate and not charge others.
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.                                         - 4 -
  253.